[INFO] cloning repository https://github.com/xacrimon/tcvm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xacrimon/tcvm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxacrimon%2Ftcvm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxacrimon%2Ftcvm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 74b669eb4888393cbec87e1e9b782db5cb30b077
[INFO] checking xacrimon/tcvm against try#a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399 for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxacrimon%2Ftcvm" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/xacrimon/tcvm
[INFO] finished tweaking git repo https://github.com/xacrimon/tcvm
[INFO] tweaked toml for git repo https://github.com/xacrimon/tcvm written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xacrimon/tcvm on toolchain a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xacrimon/tcvm already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2b21c4c461ecd42077cf11072809d525c70f3b7461305d048d83f4f09d00f821
[INFO] running `Command { std: "docker" "start" "-a" "2b21c4c461ecd42077cf11072809d525c70f3b7461305d048d83f4f09d00f821", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b21c4c461ecd42077cf11072809d525c70f3b7461305d048d83f4f09d00f821", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b21c4c461ecd42077cf11072809d525c70f3b7461305d048d83f4f09d00f821", kill_on_drop: false }`
[INFO] [stdout] 2b21c4c461ecd42077cf11072809d525c70f3b7461305d048d83f4f09d00f821
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 402a55e68e556dcb40d1da414c4cfef45e70f3ae4595fe208739269cb853c268
[INFO] running `Command { std: "docker" "start" "-a" "402a55e68e556dcb40d1da414c4cfef45e70f3ae4595fe208739269cb853c268", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking synstructure v0.13.2
[INFO] [stderr]     Checking tcvm-derive v0.1.0 (/opt/rustwide/workdir/derive)
[INFO] [stderr]     Checking tcvm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ops::Index`
[INFO] [stdout]  --> src/dmm/allocator_api.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::{alloc::Layout, marker::PhantomData, ops::Index, ptr::NonNull};
[INFO] [stdout]   |                                                ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed` and `vec`
[INFO] [stdout]  --> src/dmm/allocator_api.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     boxed, vec,
[INFO] [stdout]   |     ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefWrite`, `IndexWrite`, and `Trace`
[INFO] [stdout]   --> src/dmm/allocator_api.rs:9:15
[INFO] [stdout]    |
[INFO] [stdout] 9  |     barrier::{DerefWrite, IndexWrite},
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 10 |     collect::{Collect, Trace},
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::panic`
[INFO] [stdout]  --> src/interp.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::panic;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValueType`
[INFO] [stdout]  --> src/interp.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::value::{Value, ValueType};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `raise`
[INFO] [stdout]    --> src/interp.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |         macro_rules! raise {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `check`
[INFO] [stdout]    --> src/interp.rs:125:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |         macro_rules! check {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `args`
[INFO] [stdout]    --> src/interp.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |         macro_rules! args {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `reg`
[INFO] [stdout]    --> src/interp.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |         macro_rules! reg {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Index`
[INFO] [stdout]  --> src/dmm/allocator_api.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::{alloc::Layout, marker::PhantomData, ops::Index, ptr::NonNull};
[INFO] [stdout]   |                                                ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `boxed` and `vec`
[INFO] [stdout]  --> src/dmm/allocator_api.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     boxed, vec,
[INFO] [stdout]   |     ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefWrite`, `IndexWrite`, and `Trace`
[INFO] [stdout]   --> src/dmm/allocator_api.rs:9:15
[INFO] [stdout]    |
[INFO] [stdout] 9  |     barrier::{DerefWrite, IndexWrite},
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 10 |     collect::{Collect, Trace},
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::panic`
[INFO] [stdout]  --> src/interp.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::panic;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValueType`
[INFO] [stdout]  --> src/interp.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::value::{Value, ValueType};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `raise`
[INFO] [stdout]    --> src/interp.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |         macro_rules! raise {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `check`
[INFO] [stdout]    --> src/interp.rs:125:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |         macro_rules! check {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `args`
[INFO] [stdout]    --> src/interp.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |         macro_rules! args {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `reg`
[INFO] [stdout]    --> src/interp.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |         macro_rules! reg {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/barrier.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         mem::transmute(v)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/barrier.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub unsafe fn assume(v: &T) -> &Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/barrier.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         mem::transmute(v)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/barrier.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub unsafe fn __from_ref_and_ptr(v: &T, _: *const T) -> &Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/context.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         mem::transmute::<&Self, &Mutation>(&self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/context.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub(crate) unsafe fn mutation_context<'gc>(&self) -> &Mutation<'gc> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/context.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         mem::transmute::<&Self, &Finalization>(&self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/context.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub(crate) unsafe fn finalization_context<'gc>(&self) -> &Finalization<'gc> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc.rs:155:67
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let (_, header_offset) = layout.extend(Layout::for_value(&*ptr)).unwrap();
[INFO] [stdout]     |                                                                   ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/gc.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub unsafe fn from_ptr(ptr: *const T) -> Gc<'gc, T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::byte_offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let ptr = (ptr as *mut T).byte_offset(header_offset) as *mut GcBoxInner<T>;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc.rs:159:18
[INFO] [stdout]     |
[INFO] [stdout] 159 |             ptr: NonNull::new_unchecked(ptr),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dmm::gc::Gc::<'gc, T>::cast` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc_weak.rs:124:20
[INFO] [stdout]     |
[INFO] [stdout] 124 |             inner: Gc::cast::<U>(this.inner),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/gc_weak.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub unsafe fn cast<U: 'gc>(this: GcWeak<'gc, T>) -> GcWeak<'gc, U> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dmm::gc::Gc::<'gc, T>::from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc_weak.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |             inner: Gc::from_ptr(ptr),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/gc_weak.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub unsafe fn from_ptr(ptr: *const T) -> GcWeak<'gc, T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/types.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 |         Self(NonNull::new_unchecked(erased))
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/types.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) unsafe fn erase<T: ?Sized>(ptr: NonNull<GcBoxInner<T>>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/types.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         (self.header().vtable().trace_value)(*self, cc)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/types.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) unsafe fn trace_value(&self, cc: &mut Context) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/types.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         (self.header().vtable().drop_value)(*self)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/types.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) unsafe fn drop_in_place(&mut self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/types.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         std::alloc::dealloc(ptr, layout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/types.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub(crate) unsafe fn dealloc(self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/unsize.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let ptr = NonNull::new_unchecked(coerce(ptr) as *mut GcBoxInner<U>);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/unsize.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | /     unsafe fn __coerce_unchecked<F>(self, coerce: F) -> Gc<'gc, U>
[INFO] [stdout] 83 | |     where
[INFO] [stdout] 84 | |         F: FnOnce(*mut T) -> *mut U,
[INFO] [stdout]    | |____________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dmm::unsize::__CoercePtrInternal::__coerce_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/unsize.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let inner = self.inner.__coerce_unchecked(coerce);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/unsize.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | /     unsafe fn __coerce_unchecked<F>(self, coerce: F) -> GcWeak<'gc, U>
[INFO] [stdout] 101 | |     where
[INFO] [stdout] 102 | |         F: FnOnce(*mut T) -> *mut U,
[INFO] [stdout]     | |____________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::Allocator::deallocate` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/allocator_api.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         self.allocator.deallocate(ptr, layout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/allocator_api.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::Allocator::grow` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/allocator_api.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let ptr = self.allocator.grow(ptr, old_layout, new_layout)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/allocator_api.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     unsafe fn grow(
[INFO] [stdout] 86 | |         &self,
[INFO] [stdout] 87 | |         ptr: NonNull<u8>,
[INFO] [stdout] 88 | |         old_layout: Layout,
[INFO] [stdout] 89 | |         new_layout: Layout,
[INFO] [stdout] 90 | |     ) -> Result<NonNull<[u8]>, AllocError> {
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::Allocator::grow_zeroed` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/allocator_api.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let ptr = self.allocator.grow_zeroed(ptr, old_layout, new_layout)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/allocator_api.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout] 98  | /     unsafe fn grow_zeroed(
[INFO] [stdout] 99  | |         &self,
[INFO] [stdout] 100 | |         ptr: NonNull<u8>,
[INFO] [stdout] 101 | |         old_layout: Layout,
[INFO] [stdout] 102 | |         new_layout: Layout,
[INFO] [stdout] 103 | |     ) -> Result<NonNull<[u8]>, AllocError> {
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::Allocator::shrink` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/allocator_api.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let ptr = self.allocator.shrink(ptr, old_layout, new_layout)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/allocator_api.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     unsafe fn shrink(
[INFO] [stdout] 112 | |         &self,
[INFO] [stdout] 113 | |         ptr: NonNull<u8>,
[INFO] [stdout] 114 | |         old_layout: Layout,
[INFO] [stdout] 115 | |         new_layout: Layout,
[INFO] [stdout] 116 | |     ) -> Result<NonNull<[u8]>, AllocError> {
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Register` is never used
[INFO] [stdout]  --> src/instruction.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | type Register = u8;
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `UpvalueIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type UpvalueIndex = u8;
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ConstantIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type ConstantIndex = u16;
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> src/instruction.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Instruction {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `discriminant` is never used
[INFO] [stdout]    --> src/instruction.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl Instruction {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 173 |     pub fn discriminant(self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HANDLERS` is never used
[INFO] [stdout]  --> src/interp.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const HANDLERS: &[Handler] = &[
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]   --> src/interp.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | struct Error {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Thread` is never constructed
[INFO] [stdout]   --> src/interp.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Thread {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Handler` is never used
[INFO] [stdout]   --> src/interp.rs:76:6
[INFO] [stdout]    |
[INFO] [stdout] 76 | type Handler = fn(
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/interp.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn run(tape: &[Instruction], thread: &mut Thread) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `impl_error` is never used
[INFO] [stdout]    --> src/interp.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn impl_error(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_move` is never used
[INFO] [stdout]    --> src/interp.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn op_move(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_load` is never used
[INFO] [stdout]    --> src/interp.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn op_load(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lfalseskip` is never used
[INFO] [stdout]    --> src/interp.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn op_lfalseskip(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getupval` is never used
[INFO] [stdout]    --> src/interp.rs:210:4
[INFO] [stdout]     |
[INFO] [stdout] 210 | fn op_getupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setupval` is never used
[INFO] [stdout]    --> src/interp.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn op_setupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettabup` is never used
[INFO] [stdout]    --> src/interp.rs:234:4
[INFO] [stdout]     |
[INFO] [stdout] 234 | fn op_gettabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettable` is never used
[INFO] [stdout]    --> src/interp.rs:246:4
[INFO] [stdout]     |
[INFO] [stdout] 246 | fn op_gettable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_geti` is never used
[INFO] [stdout]    --> src/interp.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | fn op_geti(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getfield` is never used
[INFO] [stdout]    --> src/interp.rs:270:4
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn op_getfield(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settabup` is never used
[INFO] [stdout]    --> src/interp.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn op_settabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settable` is never used
[INFO] [stdout]    --> src/interp.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn op_settable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_seti` is never used
[INFO] [stdout]    --> src/interp.rs:306:4
[INFO] [stdout]     |
[INFO] [stdout] 306 | fn op_seti(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setfield` is never used
[INFO] [stdout]    --> src/interp.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn op_setfield(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_newtable` is never used
[INFO] [stdout]    --> src/interp.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn op_newtable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_self` is never used
[INFO] [stdout]    --> src/interp.rs:342:4
[INFO] [stdout]     |
[INFO] [stdout] 342 | fn op_self(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_add` is never used
[INFO] [stdout]    --> src/interp.rs:354:4
[INFO] [stdout]     |
[INFO] [stdout] 354 | fn op_add(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_sub` is never used
[INFO] [stdout]    --> src/interp.rs:366:4
[INFO] [stdout]     |
[INFO] [stdout] 366 | fn op_sub(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mul` is never used
[INFO] [stdout]    --> src/interp.rs:378:4
[INFO] [stdout]     |
[INFO] [stdout] 378 | fn op_mul(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mod` is never used
[INFO] [stdout]    --> src/interp.rs:390:4
[INFO] [stdout]     |
[INFO] [stdout] 390 | fn op_mod(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_pow` is never used
[INFO] [stdout]    --> src/interp.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn op_pow(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_div` is never used
[INFO] [stdout]    --> src/interp.rs:414:4
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn op_div(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_idiv` is never used
[INFO] [stdout]    --> src/interp.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn op_idiv(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_band` is never used
[INFO] [stdout]    --> src/interp.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn op_band(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bor` is never used
[INFO] [stdout]    --> src/interp.rs:450:4
[INFO] [stdout]     |
[INFO] [stdout] 450 | fn op_bor(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bxor` is never used
[INFO] [stdout]    --> src/interp.rs:462:4
[INFO] [stdout]     |
[INFO] [stdout] 462 | fn op_bxor(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shl` is never used
[INFO] [stdout]    --> src/interp.rs:474:4
[INFO] [stdout]     |
[INFO] [stdout] 474 | fn op_shl(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shr` is never used
[INFO] [stdout]    --> src/interp.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn op_shr(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbin` is never used
[INFO] [stdout]    --> src/interp.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn op_mmbin(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbini` is never used
[INFO] [stdout]    --> src/interp.rs:510:4
[INFO] [stdout]     |
[INFO] [stdout] 510 | fn op_mmbini(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbink` is never used
[INFO] [stdout]    --> src/interp.rs:522:4
[INFO] [stdout]     |
[INFO] [stdout] 522 | fn op_mmbink(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_unm` is never used
[INFO] [stdout]    --> src/interp.rs:534:4
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn op_unm(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bnot` is never used
[INFO] [stdout]    --> src/interp.rs:546:4
[INFO] [stdout]     |
[INFO] [stdout] 546 | fn op_bnot(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_not` is never used
[INFO] [stdout]    --> src/interp.rs:558:4
[INFO] [stdout]     |
[INFO] [stdout] 558 | fn op_not(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_len` is never used
[INFO] [stdout]    --> src/interp.rs:570:4
[INFO] [stdout]     |
[INFO] [stdout] 570 | fn op_len(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_concat` is never used
[INFO] [stdout]    --> src/interp.rs:582:4
[INFO] [stdout]     |
[INFO] [stdout] 582 | fn op_concat(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_close` is never used
[INFO] [stdout]    --> src/interp.rs:594:4
[INFO] [stdout]     |
[INFO] [stdout] 594 | fn op_close(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tbc` is never used
[INFO] [stdout]    --> src/interp.rs:606:4
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn op_tbc(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_jmp` is never used
[INFO] [stdout]    --> src/interp.rs:618:4
[INFO] [stdout]     |
[INFO] [stdout] 618 | fn op_jmp(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_eq` is never used
[INFO] [stdout]    --> src/interp.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn op_eq(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lt` is never used
[INFO] [stdout]    --> src/interp.rs:642:4
[INFO] [stdout]     |
[INFO] [stdout] 642 | fn op_lt(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_le` is never used
[INFO] [stdout]    --> src/interp.rs:654:4
[INFO] [stdout]     |
[INFO] [stdout] 654 | fn op_le(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_test` is never used
[INFO] [stdout]    --> src/interp.rs:666:4
[INFO] [stdout]     |
[INFO] [stdout] 666 | fn op_test(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_testset` is never used
[INFO] [stdout]    --> src/interp.rs:678:4
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn op_testset(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_call` is never used
[INFO] [stdout]    --> src/interp.rs:690:4
[INFO] [stdout]     |
[INFO] [stdout] 690 | fn op_call(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tailcall` is never used
[INFO] [stdout]    --> src/interp.rs:702:4
[INFO] [stdout]     |
[INFO] [stdout] 702 | fn op_tailcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return` is never used
[INFO] [stdout]    --> src/interp.rs:714:4
[INFO] [stdout]     |
[INFO] [stdout] 714 | fn op_return(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return0` is never used
[INFO] [stdout]    --> src/interp.rs:726:4
[INFO] [stdout]     |
[INFO] [stdout] 726 | fn op_return0(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return1` is never used
[INFO] [stdout]    --> src/interp.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn op_return1(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forloop` is never used
[INFO] [stdout]    --> src/interp.rs:750:4
[INFO] [stdout]     |
[INFO] [stdout] 750 | fn op_forloop(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forprep` is never used
[INFO] [stdout]    --> src/interp.rs:762:4
[INFO] [stdout]     |
[INFO] [stdout] 762 | fn op_forprep(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforprep` is never used
[INFO] [stdout]    --> src/interp.rs:774:4
[INFO] [stdout]     |
[INFO] [stdout] 774 | fn op_tforprep(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforcall` is never used
[INFO] [stdout]    --> src/interp.rs:786:4
[INFO] [stdout]     |
[INFO] [stdout] 786 | fn op_tforcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforloop` is never used
[INFO] [stdout]    --> src/interp.rs:798:4
[INFO] [stdout]     |
[INFO] [stdout] 798 | fn op_tforloop(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setlist` is never used
[INFO] [stdout]    --> src/interp.rs:810:4
[INFO] [stdout]     |
[INFO] [stdout] 810 | fn op_setlist(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_closure` is never used
[INFO] [stdout]    --> src/interp.rs:822:4
[INFO] [stdout]     |
[INFO] [stdout] 822 | fn op_closure(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_vararg` is never used
[INFO] [stdout]    --> src/interp.rs:834:4
[INFO] [stdout]     |
[INFO] [stdout] 834 | fn op_vararg(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_varargprep` is never used
[INFO] [stdout]    --> src/interp.rs:846:4
[INFO] [stdout]     |
[INFO] [stdout] 846 | fn op_varargprep(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_nop` is never used
[INFO] [stdout]    --> src/interp.rs:858:4
[INFO] [stdout]     |
[INFO] [stdout] 858 | fn op_nop(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_stop` is never used
[INFO] [stdout]    --> src/interp.rs:870:4
[INFO] [stdout]     |
[INFO] [stdout] 870 | fn op_stop(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Repr` is never used
[INFO] [stdout]  --> src/value.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum Repr {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/value.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum ValueType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Value` is never constructed
[INFO] [stdout]   --> src/value.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Value(Repr);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/value.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |             pub fn [<new_ $lowercase>](v: $type) -> Self {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |             pub fn [<as_$lowercase>](self) -> $type {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |             pub fn [<get_ $lowercase>](self) -> Option<$type> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |             pub fn [<try_ $lowercase>](self) -> Result<$type, ()> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | impl Value {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 74 |     pub fn ty(self) -> ValueType {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     type_methods!(Boolean, boolean, bool);
[INFO] [stdout]    |     ------------------------------------- in this macro invocation
[INFO] [stdout] 82 |     type_methods!(Integer, integer, i64);
[INFO] [stdout]    |     ------------------------------------ in this macro invocation
[INFO] [stdout] 83 |     type_methods!(Float, float, f64);
[INFO] [stdout]    |     -------------------------------- in this macro invocation
[INFO] [stdout] 84 |     type_methods!(String, string, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 85 |     type_methods!(Userdata, userdata, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 86 |     type_methods!(Function, function, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 87 |     type_methods!(Thread, thread, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 88 |     type_methods!(Table, table, *const ());
[INFO] [stdout]    |     -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `type_methods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/barrier.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         mem::transmute(v)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/barrier.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub unsafe fn assume(v: &T) -> &Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/barrier.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         mem::transmute(v)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/barrier.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub unsafe fn __from_ref_and_ptr(v: &T, _: *const T) -> &Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/context.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         mem::transmute::<&Self, &Mutation>(&self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/context.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub(crate) unsafe fn mutation_context<'gc>(&self) -> &Mutation<'gc> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/context.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         mem::transmute::<&Self, &Finalization>(&self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/context.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub(crate) unsafe fn finalization_context<'gc>(&self) -> &Finalization<'gc> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc.rs:155:67
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let (_, header_offset) = layout.extend(Layout::for_value(&*ptr)).unwrap();
[INFO] [stdout]     |                                                                   ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/gc.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub unsafe fn from_ptr(ptr: *const T) -> Gc<'gc, T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::byte_offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let ptr = (ptr as *mut T).byte_offset(header_offset) as *mut GcBoxInner<T>;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc.rs:159:18
[INFO] [stdout]     |
[INFO] [stdout] 159 |             ptr: NonNull::new_unchecked(ptr),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dmm::gc::Gc::<'gc, T>::cast` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc_weak.rs:124:20
[INFO] [stdout]     |
[INFO] [stdout] 124 |             inner: Gc::cast::<U>(this.inner),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/gc_weak.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub unsafe fn cast<U: 'gc>(this: GcWeak<'gc, T>) -> GcWeak<'gc, U> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dmm::gc::Gc::<'gc, T>::from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/gc_weak.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |             inner: Gc::from_ptr(ptr),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/gc_weak.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub unsafe fn from_ptr(ptr: *const T) -> GcWeak<'gc, T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/types.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 |         Self(NonNull::new_unchecked(erased))
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/types.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) unsafe fn erase<T: ?Sized>(ptr: NonNull<GcBoxInner<T>>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/types.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         (self.header().vtable().trace_value)(*self, cc)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/types.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) unsafe fn trace_value(&self, cc: &mut Context) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/types.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         (self.header().vtable().drop_value)(*self)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/types.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) unsafe fn drop_in_place(&mut self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/types.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         std::alloc::dealloc(ptr, layout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/types.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub(crate) unsafe fn dealloc(self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/unsize.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let ptr = NonNull::new_unchecked(coerce(ptr) as *mut GcBoxInner<U>);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/unsize.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | /     unsafe fn __coerce_unchecked<F>(self, coerce: F) -> Gc<'gc, U>
[INFO] [stdout] 83 | |     where
[INFO] [stdout] 84 | |         F: FnOnce(*mut T) -> *mut U,
[INFO] [stdout]    | |____________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dmm::unsize::__CoercePtrInternal::__coerce_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/unsize.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let inner = self.inner.__coerce_unchecked(coerce);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/unsize.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | /     unsafe fn __coerce_unchecked<F>(self, coerce: F) -> GcWeak<'gc, U>
[INFO] [stdout] 101 | |     where
[INFO] [stdout] 102 | |         F: FnOnce(*mut T) -> *mut U,
[INFO] [stdout]     | |____________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::Allocator::deallocate` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/allocator_api.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         self.allocator.deallocate(ptr, layout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/allocator_api.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::Allocator::grow` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/dmm/allocator_api.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let ptr = self.allocator.grow(ptr, old_layout, new_layout)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/dmm/allocator_api.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     unsafe fn grow(
[INFO] [stdout] 86 | |         &self,
[INFO] [stdout] 87 | |         ptr: NonNull<u8>,
[INFO] [stdout] 88 | |         old_layout: Layout,
[INFO] [stdout] 89 | |         new_layout: Layout,
[INFO] [stdout] 90 | |     ) -> Result<NonNull<[u8]>, AllocError> {
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::Allocator::grow_zeroed` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/allocator_api.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let ptr = self.allocator.grow_zeroed(ptr, old_layout, new_layout)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/allocator_api.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout] 98  | /     unsafe fn grow_zeroed(
[INFO] [stdout] 99  | |         &self,
[INFO] [stdout] 100 | |         ptr: NonNull<u8>,
[INFO] [stdout] 101 | |         old_layout: Layout,
[INFO] [stdout] 102 | |         new_layout: Layout,
[INFO] [stdout] 103 | |     ) -> Result<NonNull<[u8]>, AllocError> {
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::Allocator::shrink` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dmm/allocator_api.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let ptr = self.allocator.shrink(ptr, old_layout, new_layout)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dmm/allocator_api.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     unsafe fn shrink(
[INFO] [stdout] 112 | |         &self,
[INFO] [stdout] 113 | |         ptr: NonNull<u8>,
[INFO] [stdout] 114 | |         old_layout: Layout,
[INFO] [stdout] 115 | |         new_layout: Layout,
[INFO] [stdout] 116 | |     ) -> Result<NonNull<[u8]>, AllocError> {
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Register` is never used
[INFO] [stdout]  --> src/instruction.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | type Register = u8;
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `UpvalueIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type UpvalueIndex = u8;
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ConstantIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type ConstantIndex = u16;
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> src/instruction.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Instruction {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `discriminant` is never used
[INFO] [stdout]    --> src/instruction.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl Instruction {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 173 |     pub fn discriminant(self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HANDLERS` is never used
[INFO] [stdout]  --> src/interp.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const HANDLERS: &[Handler] = &[
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]   --> src/interp.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | struct Error {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Thread` is never constructed
[INFO] [stdout]   --> src/interp.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Thread {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Handler` is never used
[INFO] [stdout]   --> src/interp.rs:76:6
[INFO] [stdout]    |
[INFO] [stdout] 76 | type Handler = fn(
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/interp.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn run(tape: &[Instruction], thread: &mut Thread) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `impl_error` is never used
[INFO] [stdout]    --> src/interp.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn impl_error(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_move` is never used
[INFO] [stdout]    --> src/interp.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn op_move(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_load` is never used
[INFO] [stdout]    --> src/interp.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn op_load(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lfalseskip` is never used
[INFO] [stdout]    --> src/interp.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn op_lfalseskip(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getupval` is never used
[INFO] [stdout]    --> src/interp.rs:210:4
[INFO] [stdout]     |
[INFO] [stdout] 210 | fn op_getupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setupval` is never used
[INFO] [stdout]    --> src/interp.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn op_setupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettabup` is never used
[INFO] [stdout]    --> src/interp.rs:234:4
[INFO] [stdout]     |
[INFO] [stdout] 234 | fn op_gettabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettable` is never used
[INFO] [stdout]    --> src/interp.rs:246:4
[INFO] [stdout]     |
[INFO] [stdout] 246 | fn op_gettable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_geti` is never used
[INFO] [stdout]    --> src/interp.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | fn op_geti(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getfield` is never used
[INFO] [stdout]    --> src/interp.rs:270:4
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn op_getfield(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settabup` is never used
[INFO] [stdout]    --> src/interp.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn op_settabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settable` is never used
[INFO] [stdout]    --> src/interp.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn op_settable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_seti` is never used
[INFO] [stdout]    --> src/interp.rs:306:4
[INFO] [stdout]     |
[INFO] [stdout] 306 | fn op_seti(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setfield` is never used
[INFO] [stdout]    --> src/interp.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn op_setfield(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_newtable` is never used
[INFO] [stdout]    --> src/interp.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn op_newtable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_self` is never used
[INFO] [stdout]    --> src/interp.rs:342:4
[INFO] [stdout]     |
[INFO] [stdout] 342 | fn op_self(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_add` is never used
[INFO] [stdout]    --> src/interp.rs:354:4
[INFO] [stdout]     |
[INFO] [stdout] 354 | fn op_add(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_sub` is never used
[INFO] [stdout]    --> src/interp.rs:366:4
[INFO] [stdout]     |
[INFO] [stdout] 366 | fn op_sub(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mul` is never used
[INFO] [stdout]    --> src/interp.rs:378:4
[INFO] [stdout]     |
[INFO] [stdout] 378 | fn op_mul(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mod` is never used
[INFO] [stdout]    --> src/interp.rs:390:4
[INFO] [stdout]     |
[INFO] [stdout] 390 | fn op_mod(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_pow` is never used
[INFO] [stdout]    --> src/interp.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn op_pow(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_div` is never used
[INFO] [stdout]    --> src/interp.rs:414:4
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn op_div(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_idiv` is never used
[INFO] [stdout]    --> src/interp.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn op_idiv(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_band` is never used
[INFO] [stdout]    --> src/interp.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn op_band(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bor` is never used
[INFO] [stdout]    --> src/interp.rs:450:4
[INFO] [stdout]     |
[INFO] [stdout] 450 | fn op_bor(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bxor` is never used
[INFO] [stdout]    --> src/interp.rs:462:4
[INFO] [stdout]     |
[INFO] [stdout] 462 | fn op_bxor(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shl` is never used
[INFO] [stdout]    --> src/interp.rs:474:4
[INFO] [stdout]     |
[INFO] [stdout] 474 | fn op_shl(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shr` is never used
[INFO] [stdout]    --> src/interp.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn op_shr(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbin` is never used
[INFO] [stdout]    --> src/interp.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn op_mmbin(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbini` is never used
[INFO] [stdout]    --> src/interp.rs:510:4
[INFO] [stdout]     |
[INFO] [stdout] 510 | fn op_mmbini(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbink` is never used
[INFO] [stdout]    --> src/interp.rs:522:4
[INFO] [stdout]     |
[INFO] [stdout] 522 | fn op_mmbink(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_unm` is never used
[INFO] [stdout]    --> src/interp.rs:534:4
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn op_unm(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bnot` is never used
[INFO] [stdout]    --> src/interp.rs:546:4
[INFO] [stdout]     |
[INFO] [stdout] 546 | fn op_bnot(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_not` is never used
[INFO] [stdout]    --> src/interp.rs:558:4
[INFO] [stdout]     |
[INFO] [stdout] 558 | fn op_not(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_len` is never used
[INFO] [stdout]    --> src/interp.rs:570:4
[INFO] [stdout]     |
[INFO] [stdout] 570 | fn op_len(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_concat` is never used
[INFO] [stdout]    --> src/interp.rs:582:4
[INFO] [stdout]     |
[INFO] [stdout] 582 | fn op_concat(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_close` is never used
[INFO] [stdout]    --> src/interp.rs:594:4
[INFO] [stdout]     |
[INFO] [stdout] 594 | fn op_close(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tbc` is never used
[INFO] [stdout]    --> src/interp.rs:606:4
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn op_tbc(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_jmp` is never used
[INFO] [stdout]    --> src/interp.rs:618:4
[INFO] [stdout]     |
[INFO] [stdout] 618 | fn op_jmp(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_eq` is never used
[INFO] [stdout]    --> src/interp.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn op_eq(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lt` is never used
[INFO] [stdout]    --> src/interp.rs:642:4
[INFO] [stdout]     |
[INFO] [stdout] 642 | fn op_lt(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_le` is never used
[INFO] [stdout]    --> src/interp.rs:654:4
[INFO] [stdout]     |
[INFO] [stdout] 654 | fn op_le(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_test` is never used
[INFO] [stdout]    --> src/interp.rs:666:4
[INFO] [stdout]     |
[INFO] [stdout] 666 | fn op_test(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_testset` is never used
[INFO] [stdout]    --> src/interp.rs:678:4
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn op_testset(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_call` is never used
[INFO] [stdout]    --> src/interp.rs:690:4
[INFO] [stdout]     |
[INFO] [stdout] 690 | fn op_call(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tailcall` is never used
[INFO] [stdout]    --> src/interp.rs:702:4
[INFO] [stdout]     |
[INFO] [stdout] 702 | fn op_tailcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return` is never used
[INFO] [stdout]    --> src/interp.rs:714:4
[INFO] [stdout]     |
[INFO] [stdout] 714 | fn op_return(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return0` is never used
[INFO] [stdout]    --> src/interp.rs:726:4
[INFO] [stdout]     |
[INFO] [stdout] 726 | fn op_return0(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return1` is never used
[INFO] [stdout]    --> src/interp.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn op_return1(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forloop` is never used
[INFO] [stdout]    --> src/interp.rs:750:4
[INFO] [stdout]     |
[INFO] [stdout] 750 | fn op_forloop(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forprep` is never used
[INFO] [stdout]    --> src/interp.rs:762:4
[INFO] [stdout]     |
[INFO] [stdout] 762 | fn op_forprep(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforprep` is never used
[INFO] [stdout]    --> src/interp.rs:774:4
[INFO] [stdout]     |
[INFO] [stdout] 774 | fn op_tforprep(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforcall` is never used
[INFO] [stdout]    --> src/interp.rs:786:4
[INFO] [stdout]     |
[INFO] [stdout] 786 | fn op_tforcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforloop` is never used
[INFO] [stdout]    --> src/interp.rs:798:4
[INFO] [stdout]     |
[INFO] [stdout] 798 | fn op_tforloop(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setlist` is never used
[INFO] [stdout]    --> src/interp.rs:810:4
[INFO] [stdout]     |
[INFO] [stdout] 810 | fn op_setlist(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_closure` is never used
[INFO] [stdout]    --> src/interp.rs:822:4
[INFO] [stdout]     |
[INFO] [stdout] 822 | fn op_closure(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_vararg` is never used
[INFO] [stdout]    --> src/interp.rs:834:4
[INFO] [stdout]     |
[INFO] [stdout] 834 | fn op_vararg(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_varargprep` is never used
[INFO] [stdout]    --> src/interp.rs:846:4
[INFO] [stdout]     |
[INFO] [stdout] 846 | fn op_varargprep(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_nop` is never used
[INFO] [stdout]    --> src/interp.rs:858:4
[INFO] [stdout]     |
[INFO] [stdout] 858 | fn op_nop(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_stop` is never used
[INFO] [stdout]    --> src/interp.rs:870:4
[INFO] [stdout]     |
[INFO] [stdout] 870 | fn op_stop(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Repr` is never used
[INFO] [stdout]  --> src/value.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum Repr {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/value.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum ValueType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Value` is never constructed
[INFO] [stdout]   --> src/value.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Value(Repr);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/value.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |             pub fn [<new_ $lowercase>](v: $type) -> Self {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |             pub fn [<as_$lowercase>](self) -> $type {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |             pub fn [<get_ $lowercase>](self) -> Option<$type> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |             pub fn [<try_ $lowercase>](self) -> Result<$type, ()> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | impl Value {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 74 |     pub fn ty(self) -> ValueType {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     type_methods!(Boolean, boolean, bool);
[INFO] [stdout]    |     ------------------------------------- in this macro invocation
[INFO] [stdout] 82 |     type_methods!(Integer, integer, i64);
[INFO] [stdout]    |     ------------------------------------ in this macro invocation
[INFO] [stdout] 83 |     type_methods!(Float, float, f64);
[INFO] [stdout]    |     -------------------------------- in this macro invocation
[INFO] [stdout] 84 |     type_methods!(String, string, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 85 |     type_methods!(Userdata, userdata, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 86 |     type_methods!(Function, function, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 87 |     type_methods!(Thread, thread, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 88 |     type_methods!(Table, table, *const ());
[INFO] [stdout]    |     -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `type_methods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.50s
[INFO] running `Command { std: "docker" "inspect" "402a55e68e556dcb40d1da414c4cfef45e70f3ae4595fe208739269cb853c268", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "402a55e68e556dcb40d1da414c4cfef45e70f3ae4595fe208739269cb853c268", kill_on_drop: false }`
[INFO] [stdout] 402a55e68e556dcb40d1da414c4cfef45e70f3ae4595fe208739269cb853c268
